Modeling and simulation provides an important component in the development and testing of modern systems. In the early stages of development, this usually took the form of purely constructive (i.e. simulation only) testing wherein large numbers of simulation runs were necessary to provide the needed level of statistical certainty.
In the current state of modeling and simulation development, testing is usually conducted on systems installed in simulation environments. In these simulation environments, time and resources are generally limited, due to the expensive equipment and labor force required to run the simulations. When unusual or unexpected behavior is encountered the analysts generally either rerun the test to capture additional data or reset the test to a new initial state, changing key state variables and rerunning the test to determine if there were different results. These additional tests require additional time and money which may not be available. The alternative is to capture all possible data for every given test run. The disadvantage to this alternative is that tremendous amounts of data can be produced making subsequent analysis more difficult. This also extends run time, which may not be desirable, particularly when dealing with man or system in the loop testing where real time simulation is necessary. In addition, making state changes to initial variables while insuring that these state changes do not impact other aspects of the simulation can be very difficult.
Therefore, there is a need for an improved method for collecting data from modeling and simulation programs and a new mechanism for analyzing the consequences of state changes within the simulation.